Real time communication tools allow users to communicate in real time. The real time communication can include audio, video, images, etc. The real time communication tools are available as stand-alone applications that can be installed on devices or as web browser based applications. However, the current real time communication tools do not provide efficient ways to integrate them into existing software applications. Further, they lack reliability, efficiency and adaptability to network bandwidth features.